var express = require('express');
var router = express.Router();
var CONFIG = require('../../../common/config');
var CODE = require('../../../common/code');
var superagent = require('superagent');
var userUtil = require('./util/userUtil');
var retUtil = require('./util/retUtil');





router.get('/',function (req, res, next) {
    res.send('respond with a user resource');
});

/***
 * 获取用户作品列表_APP_6_4 添加
 * @author 毛凯
 * @date 2018-4-19
 * 方式: GET
 * 参数: device  0 表示从pc来的请求
 *                1 标识一键生成iOS端
 *                2 标识一键生成android端
 *                3  标识一键生成 app 嵌入网页
 *                4 标识一键生成 web 端
 *                5 标识一键生成微信端
 * 参数: userId   用户唯一标识
 * 参数: typeL   [1] 一级分类数组的 json 字符串
 * 参数: pageNum   页码, 从0 开始
 * 参数: pageSize   页容量
 * 参数: withTotalPage   0 标记不获取总页数, 1 标记获取总页数
 * 接口地址: http://yapi.yijianxiu.com:7000/project/107/interface/api/2900
 *测试地址 : http://localhost:3000/yjxc/yjscPlatform/design/v1/users/getAppHomePageInfo_app_v6_4?device=610&appVer=6.4
 */
function getUserProductsList_app_v6_4(req, res, next) {
    var device = retUtil.numberFromReq(req, 'device');
    var userId = retUtil.numberFromReq(req, 'userId');
    var typeL = retUtil.arrayFromReq(req, 'typeL');
    var pageNum = retUtil.numberFromReq(req, 'pageNum') || 0;
    var pageSize = retUtil.numberFromReq(req, 'pageSize');
    var withTotalPage = retUtil.numberFromReq(req, 'withTotalPage') || 0;
    if(device <= 0 || userId <= 0 || pageSize <= 0 ){
        return retUtil.ret_err_json("参数错误",res);
    }
    userUtil.getUserProductsList_app_v6_4(userId,typeL,pageNum,pageSize,withTotalPage,function (err, data) {
        if (err) {
            return retUtil.ret_err_json(err, res);
        }
        return retUtil.ret_succ_json(data, res);
    });
}
router.post('/getUserProductsList_app_v6_4', getUserProductsList_app_v6_4);
router.get('/getUserProductsList_app_v6_4', getUserProductsList_app_v6_4);

/***
 * 获取个人中心数据_APP_6_4 添加
 * @author 毛凯
 * @date 2018-4-20
 * 方式: GET
 * 参数: device  0 表示从pc来的请求
 *                1 标识一键生成iOS端
 *                2 标识一键生成android端
 *                3  标识一键生成 app 嵌入网页
 *                4 标识一键生成 web 端
 *                5 标识一键生成微信端
 * 参数: userId   用户唯一标识
 * 参数: productCnt 一次获取用户文档个数
 * 参数: timestamp 最新一条通知(数组最后一个)的 start_time, 如果没有, 则传递空字符串
 * 参数: states  指定用户的通知类型: 状态：10 新建(未读), 20 已获取(已读), 多种状态用逗号拼接, 如: 10,20
 * 参数: typeL   [1] 一级分类数组的 json 字符串
 * 接口地址: http://yapi.yijianxiu.com:7000/project/107/interface/api/2908
 *测试地址 : http://localhost:3000/yjxc/yjscPlatform/design/v1/users/getUserPersonalCenterInfo_app_v6_4
 */
function getUserPersonalCenterInfo_app_v6_4(req, res, next) {
    var device = retUtil.numberFromReq(req, 'device');
    var userId = retUtil.numberFromReq(req, 'userId');
    var productCnt = retUtil.numberFromReq(req, 'productCnt') || 0;
    var timestamp = retUtil.stringFromReq(req,'timestamp') ||"";
    var states = retUtil.numberFromReq(req, 'states');
    var typeL = retUtil.arrayFromReq(req, 'typeL');
    if(device <= 0 || userId <= 0 || productCnt <= 0 ){
        return retUtil.ret_err_json("参数错误",res);
    }
    userUtil.getUserPersonalCenterInfo_app_v6_4(userId,productCnt,timestamp,states,typeL,function (err, data) {
        if (err) {
            return retUtil.ret_err_json(err, res);
        }
        return retUtil.ret_succ_json(data, res);
    });
}
router.post('/getUserPersonalCenterInfo_app_v6_4', getUserPersonalCenterInfo_app_v6_4);
router.get('/getUserPersonalCenterInfo_app_v6_4', getUserPersonalCenterInfo_app_v6_4);


/*
* 获取用户推荐统计信息_APP_6_6 添加
*
* @author 王俊
* @date 2018-05-15
*
* 参数: device    0 表示从pc来的请求
*                1 标识一键生成iOS端
*                2 标识一键生成android端
*                3  标识一键生成 app 嵌入网页
*                4 标识一键生成 web 端
*                5 标识一键生成微信端
* 参数: userId    用户唯一标识
*
* 接口文档: http://yapi.yijianxiu.com:7000/project/95/interface/api/3124
* */
function getUserRecommendBriefInfo_app_v6_6(req, res, next) {

    var device = retUtil.numberFromReq(req, 'device');
    var userId = retUtil.numberFromReq(req, 'userId');
    if(userId <= 0) return retUtil.ret_err_json('参数错误', null);


    userUtil.getUserRecommendBriefInfo_app_v6_6(userId, function (error, briefInfo) {
        if(error) {
            return retUtil.ret_err_json(error, res);
        }
        return retUtil.ret_succ_json(briefInfo, res);
    });
}
router.get('/getUserRecommendBriefInfo_app_v6_6', getUserRecommendBriefInfo_app_v6_6);
router.post('/getUserRecommendBriefInfo_app_v6_6', getUserRecommendBriefInfo_app_v6_6);
/***
 * 发送验证码_APP_6_6 添加
 * @author 李强
 * @date 2018-5-15
 * 方式: GET
 * 参数: device  0 表示从pc来的请求
 *                1 标识一键生成iOS端
 *                2 标识一键生成android端
 *                3  标识一键生成 app 嵌入网页
 *                4 标识一键生成 web 端
 *                5 标识一键生成微信端
 * 参数: mobile   手机号
 *测试地址 : http://localhost:3000/yjsc/v2/user/sendVerCode_app_v6_6?device=610&mobile=18202755833
 */
function sendVerCode_app_v6_6(req, res, next) {
    var device = retUtil.numberFromReq(req, 'device');
    var mobile = retUtil.numberFromReq(req, 'mobile');
    var zone = retUtil.numberFromReq(req, 'zone') || 86;

    if (mobile <= 0 || !((/^1\d{10}$/).test(mobile))) {
        return retUtil.ret_err_json("请输入正确的手机号", res);
    }
    userUtil.sendVerCode_app_v6_6(zone,mobile, function (err,data) {
        if(err){
            return retUtil.ret_err_json(err, res);
        }
        return retUtil.ret_succ_json({}, res);
    })

}
router.post('/sendVerCode_app_v6_6', sendVerCode_app_v6_6);
router.get('/sendVerCode_app_v6_6', sendVerCode_app_v6_6);




/*
* 获取已推荐用户列表_APP_6_6 添加
*
* @author 王俊
* @date 2018-05-15
*
* 参数: device        0 表示从pc来的请求
*                    1 标识一键生成iOS端
*                    2 标识一键生成android端
*                    3  标识一键生成 app 嵌入网页
*                    4 标识一键生成 web 端
*                    5 标识一键生成微信端
* 参数: userId        用户唯一标识
* 参数: pageNum       页码
* 参数: pageSize       页容量
* 参数[可选]: withTotalPage  是否获取总页数
*
* 接口文档: http://yapi.yijianxiu.com:7000/project/95/interface/api/3140
* */
function getRecommendUserList_app_v6_6(req, res, next) {

    var device = retUtil.numberFromReq(req, 'device');
    var userId = retUtil.numberFromReq(req, 'userId');
    var pageNum = retUtil.numberFromReq(req, 'pageNum');
    var pageSize = retUtil.numberFromReq(req, 'pageSize');
    var withTotalPage = retUtil.numberFromReq(req, 'withTotalPage');

    var opt = {
        userId : userId,
        pageNum : pageNum,
        pageSize : pageSize,
        withTotalPage : withTotalPage
    };
    userUtil.getRecommendUserList(opt, function (error, data) {
        if(error) return retUtil.ret_err_json(error, res);
        return retUtil.ret_succ_json(data, res);
    });


}
router.get('/getRecommendUserList_app_v6_6', getRecommendUserList_app_v6_6);
router.post('/getRecommendUserList_app_v6_6', getRecommendUserList_app_v6_6);


/*
* 用户兑换推荐奖励
*
* @author 王俊
* @date 2018-05-10
*
* 参数: device        0 表示从pc来的请求
*                    1 标识一键生成iOS端
*                    2 标识一键生成android端
*                    3  标识一键生成 app 嵌入网页
*                    4 标识一键生成 web 端
*                    5 标识一键生成微信端
* 参数: userId        用户唯一标识
*
* 接口文档: http://yapi.yijianxiu.com:7000/project/95/interface/api/3148
* */
function exchangeRecommendAward_app_v6_6(req, res, next) {
    var device = retUtil.numberFromReq(req, 'device');
    var userId = retUtil.numberFromReq(req, 'userId');

    var opt = {
        device : 1,
        userId : userId
    };
    userUtil.exchangeRecommendAward(opt, function (error, data) {
        if(error) {
            return retUtil.ret_err_json(error, res);
        }
        return retUtil.ret_succ_json({}, res);
    });
}
router.get('/exchangeRecommendAward_app_v6_6', exchangeRecommendAward_app_v6_6);
router.post('/exchangeRecommendAward_app_v6_6', exchangeRecommendAward_app_v6_6);

/*
* 接受邀请注册, 并获取 vip 赠送
*
* @author 王俊
* @date 2018-05-15
*
* 参数: device        0 表示从pc来的请求
*                    1 标识一键生成iOS端
*                    2 标识一键生成android端
*                    3  标识一键生成 app 嵌入网页
*                    4 标识一键生成 web 端
*                    5 标识一键生成微信端
* 参数: inviteUserId  邀请人的用户 id
* 参数: zone          注册人手机号的区号
* 参数: mobile        注册人手机号
* 参数: verCode       验证码
*
* 接口文档: http://yapi.yijianxiu.com:7000/project/95/interface/api/3156
* */
function beInvitedRegister_app_v6_6(req, res, next) {

    var device = retUtil.numberFromReq(req, 'device');
    var inviteUserId = retUtil.numberFromReq(req, 'inviteUserId');
    var zone = retUtil.numberFromReq(req, 'zone') || 86;
    var mobile = retUtil.numberFromReq(req, 'mobile');
    var verCode = retUtil.numberFromReq(req, 'verCode');
    var uuid = retUtil.stringFromReq(req, 'uuid');
    if(!inviteUserId || !zone || !mobile || !verCode || !uuid || uuid.length <=0
        // || inviteUserId <=0 || mobile<10000000000 || verCode <=0
    ) {
        return retUtil.ret_err_json('参数错误', null);
    }
    var opt = {
        device : device,
        inviteUserId : inviteUserId,
        zone : zone,
        mobile : mobile,
        verCode : verCode,
        uuid : uuid
    };

    userUtil.beInvitedRegister(opt, function (error, data) {
        if(error) return retUtil.ret_err_json(error, res);

        return retUtil.ret_succ_json(data, res);
    });

}
router.get('/beInvitedRegister_app_v6_6', beInvitedRegister_app_v6_6);
router.post('/beInvitedRegister_app_v6_6', beInvitedRegister_app_v6_6);

//==========================================================================
module.exports = router;